#ifndef _CPU_FUNCITONS_H_
#define _CPU_FUNCITONS_H_
/*
 * cpu_functions.h
 *  
 *              CPU Monitor 
 *
 *    Spring Semester.  044800.    Technion.
 *   Copyright (C) 2006  Evgeny Shulman  and Elizabeth Shtrom 
 */
#include "cpu_consts.h"
#include "cpu_monitor.h"

int read_cpuid (int fd, int op,
	unsigned long *eax,
	unsigned long *ebx,
	unsigned long *ecx,
	unsigned long *edx);


int read_pid (int fd , int *pid );
int read_regs   (int fd , regs_s * regs );
int read_gdt (int fd, cm_desc_t * gdt_table);
int read_ldt (int fd, cm_desc_t * ldt_table);
int read_idt (int fd, cm_gate_desc_t * idt_table );
int read_tss (int fd , cm_tss_struct * tss_table );
int read_pgd    ( int fd , unsigned long * pgd_table );
int read_ptable ( int fd , unsigned long pde , unsigned long * ptable );


int im_start(int fd   );
int im_stop (int fd   );
int im_read (int fd, im_irq_stat_s *im_irq_stat_data);
int im_is_started (int fd);
int im_reset (int fd);

int cpu_set_affinity(int cpu);
unsigned long  cpu_get_affinity(void);



#endif /*_CPU_FUNCITONS_H_*/

